<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>tinydtls: uthash.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">tinydtls
   &#160;<span id="projectnumber">0.8.2</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a>  </div>
  <div class="headertitle">
<div class="title">uthash.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;string.h&gt;</code><br/>
<code>#include &lt;stddef.h&gt;</code><br/>
<code>#include &lt;inttypes.h&gt;</code><br/>
</div>
<p><a href="uthash_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structUT__hash__bucket.html">UT_hash_bucket</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structUT__hash__table.html">UT_hash_table</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structUT__hash__handle.html">UT_hash_handle</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a716ba290563c2d955cb0c90d85874073"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a716ba290563c2d955cb0c90d85874073">DECLTYPE</a>(x)&#160;&#160;&#160;(__typeof(x))</td></tr>
<tr class="separator:a716ba290563c2d955cb0c90d85874073"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c736f2f2dd643f2987b2bc323e269ba"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a3c736f2f2dd643f2987b2bc323e269ba">DECLTYPE_ASSIGN</a>(dst, src)</td></tr>
<tr class="separator:a3c736f2f2dd643f2987b2bc323e269ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa56cef9cb86dc1f4b5d27ee3a691077e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#aa56cef9cb86dc1f4b5d27ee3a691077e">UTHASH_VERSION</a>&#160;&#160;&#160;1.9.3</td></tr>
<tr class="separator:aa56cef9cb86dc1f4b5d27ee3a691077e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a03b52301b0ed976b6981ef33613320c1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a03b52301b0ed976b6981ef33613320c1">uthash_fatal</a>(msg)&#160;&#160;&#160;exit(-1)        /* fatal error (out of memory,etc) */</td></tr>
<tr class="separator:a03b52301b0ed976b6981ef33613320c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a861013aff36c0448f1888a2b0b5836d8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a861013aff36c0448f1888a2b0b5836d8">uthash_malloc</a>(sz)&#160;&#160;&#160;malloc(sz)      /* malloc fcn                      */</td></tr>
<tr class="separator:a861013aff36c0448f1888a2b0b5836d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56cdf8c254fc700332c8e6a7263b4657"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a56cdf8c254fc700332c8e6a7263b4657">uthash_free</a>(ptr, sz)&#160;&#160;&#160;free(ptr)     /* free fcn                        */</td></tr>
<tr class="separator:a56cdf8c254fc700332c8e6a7263b4657"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7cc237d8f87de3836b5390856cfc5c86"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a7cc237d8f87de3836b5390856cfc5c86">uthash_noexpand_fyi</a>(tbl)&#160;&#160;&#160;/* can be defined to log noexpand  */</td></tr>
<tr class="separator:a7cc237d8f87de3836b5390856cfc5c86"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a86ea78714da520989a6f7a764b4d71b4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a86ea78714da520989a6f7a764b4d71b4">uthash_expand_fyi</a>(tbl)&#160;&#160;&#160;/* can be defined to log expands   */</td></tr>
<tr class="separator:a86ea78714da520989a6f7a764b4d71b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a361cdc5e8d6d8fe5fae6912588ae15d0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a361cdc5e8d6d8fe5fae6912588ae15d0">HASH_INITIAL_NUM_BUCKETS</a>&#160;&#160;&#160;32      /* initial number of buckets        */</td></tr>
<tr class="separator:a361cdc5e8d6d8fe5fae6912588ae15d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b39a5cf1d6c05c43bd8530db2ec908c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a0b39a5cf1d6c05c43bd8530db2ec908c">HASH_INITIAL_NUM_BUCKETS_LOG2</a>&#160;&#160;&#160;5  /* lg2 of initial number of buckets */</td></tr>
<tr class="separator:a0b39a5cf1d6c05c43bd8530db2ec908c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8ae3e6473261f6c4b78c030c94f5d68f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a8ae3e6473261f6c4b78c030c94f5d68f">HASH_BKT_CAPACITY_THRESH</a>&#160;&#160;&#160;10      /* expand when bucket count reaches */</td></tr>
<tr class="separator:a8ae3e6473261f6c4b78c030c94f5d68f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a568e95048979b8b3e4ea1567fd91c186"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a568e95048979b8b3e4ea1567fd91c186">ELMT_FROM_HH</a>(tbl, hhp)&#160;&#160;&#160;((void*)(((char*)(hhp)) - ((tbl)-&gt;hho)))</td></tr>
<tr class="separator:a568e95048979b8b3e4ea1567fd91c186"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad4a1cd39c3044936c0e49d3f372c9dbf"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#ad4a1cd39c3044936c0e49d3f372c9dbf">HASH_FIND</a>(hh, head, keyptr, keylen, out)</td></tr>
<tr class="separator:ad4a1cd39c3044936c0e49d3f372c9dbf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a254f427772a1fe7a2480a8302af8f8b8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a254f427772a1fe7a2480a8302af8f8b8">HASH_BLOOM_MAKE</a>(tbl)</td></tr>
<tr class="separator:a254f427772a1fe7a2480a8302af8f8b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad6847ad938fc26bfd0726d7f159efd0a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#ad6847ad938fc26bfd0726d7f159efd0a">HASH_BLOOM_FREE</a>(tbl)</td></tr>
<tr class="separator:ad6847ad938fc26bfd0726d7f159efd0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acaad947212056cd8bfe3d660265fb2db"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#acaad947212056cd8bfe3d660265fb2db">HASH_BLOOM_ADD</a>(tbl, hashv)</td></tr>
<tr class="separator:acaad947212056cd8bfe3d660265fb2db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a06bfbf880899d54da35487d0d39c1009"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a06bfbf880899d54da35487d0d39c1009">HASH_BLOOM_TEST</a>(tbl, hashv)&#160;&#160;&#160;(1)</td></tr>
<tr class="separator:a06bfbf880899d54da35487d0d39c1009"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeba971430f623b6334f565d9c7ec9de5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#aeba971430f623b6334f565d9c7ec9de5">HASH_MAKE_TABLE</a>(hh, head)</td></tr>
<tr class="separator:aeba971430f623b6334f565d9c7ec9de5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf01358e257c8d838eb5e4b189f0c399"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#aaf01358e257c8d838eb5e4b189f0c399">HASH_ADD</a>(hh, head, fieldname, keylen_in, add)&#160;&#160;&#160;<a class="el" href="uthash_8h.html#a0b7468360b5c788762cdb2ccf9cd4d26">HASH_ADD_KEYPTR</a>(hh,head,&amp;add-&gt;fieldname,keylen_in,add)</td></tr>
<tr class="separator:aaf01358e257c8d838eb5e4b189f0c399"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b7468360b5c788762cdb2ccf9cd4d26"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a0b7468360b5c788762cdb2ccf9cd4d26">HASH_ADD_KEYPTR</a>(hh, head, keyptr, keylen_in, add)</td></tr>
<tr class="separator:a0b7468360b5c788762cdb2ccf9cd4d26"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d7691544128a6ef265f3e4fa5ed3113"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a4d7691544128a6ef265f3e4fa5ed3113">HASH_TO_BKT</a>(hashv, num_bkts, bkt)</td></tr>
<tr class="separator:a4d7691544128a6ef265f3e4fa5ed3113"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f83117e1108d63844a58d2d79c3b980"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a3f83117e1108d63844a58d2d79c3b980">HASH_DELETE</a>(hh, head, delptr)</td></tr>
<tr class="separator:a3f83117e1108d63844a58d2d79c3b980"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a214529083adfab2fa8cd402d2eeb0a84"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a214529083adfab2fa8cd402d2eeb0a84">HASH_FIND_STR</a>(head, findstr, out)&#160;&#160;&#160;<a class="el" href="uthash_8h.html#ad4a1cd39c3044936c0e49d3f372c9dbf">HASH_FIND</a>(hh,head,findstr,strlen(findstr),out)</td></tr>
<tr class="separator:a214529083adfab2fa8cd402d2eeb0a84"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9724951736f3985f74df17638c8a7885"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a9724951736f3985f74df17638c8a7885">HASH_ADD_STR</a>(head, strfield, add)&#160;&#160;&#160;<a class="el" href="uthash_8h.html#aaf01358e257c8d838eb5e4b189f0c399">HASH_ADD</a>(hh,head,strfield,strlen(add-&gt;strfield),add)</td></tr>
<tr class="separator:a9724951736f3985f74df17638c8a7885"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aadcb19b940348f3141bd51505ede0142"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#aadcb19b940348f3141bd51505ede0142">HASH_FIND_INT</a>(head, findint, out)&#160;&#160;&#160;<a class="el" href="uthash_8h.html#ad4a1cd39c3044936c0e49d3f372c9dbf">HASH_FIND</a>(hh,head,findint,sizeof(int),out)</td></tr>
<tr class="separator:aadcb19b940348f3141bd51505ede0142"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acf85835471af894e354efb7e346698f3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#acf85835471af894e354efb7e346698f3">HASH_ADD_INT</a>(head, intfield, add)&#160;&#160;&#160;<a class="el" href="uthash_8h.html#aaf01358e257c8d838eb5e4b189f0c399">HASH_ADD</a>(hh,head,intfield,sizeof(int),add)</td></tr>
<tr class="separator:acf85835471af894e354efb7e346698f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a26a887f8e31952034becac0cf446f6c3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a26a887f8e31952034becac0cf446f6c3">HASH_FIND_PTR</a>(head, findptr, out)&#160;&#160;&#160;<a class="el" href="uthash_8h.html#ad4a1cd39c3044936c0e49d3f372c9dbf">HASH_FIND</a>(hh,head,findptr,sizeof(void *),out)</td></tr>
<tr class="separator:a26a887f8e31952034becac0cf446f6c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ad1f84ef1ba9df99fa2ada38cb61823"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a2ad1f84ef1ba9df99fa2ada38cb61823">HASH_ADD_PTR</a>(head, ptrfield, add)&#160;&#160;&#160;<a class="el" href="uthash_8h.html#aaf01358e257c8d838eb5e4b189f0c399">HASH_ADD</a>(hh,head,ptrfield,sizeof(void *),add)</td></tr>
<tr class="separator:a2ad1f84ef1ba9df99fa2ada38cb61823"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a48b7ed374602dcb236501aa23a971f05"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a48b7ed374602dcb236501aa23a971f05">HASH_DEL</a>(head, delptr)&#160;&#160;&#160;<a class="el" href="uthash_8h.html#a3f83117e1108d63844a58d2d79c3b980">HASH_DELETE</a>(hh,head,delptr)</td></tr>
<tr class="separator:a48b7ed374602dcb236501aa23a971f05"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d882fadb26a4e6c13c134d8be4d0759"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a7d882fadb26a4e6c13c134d8be4d0759">HASH_FSCK</a>(hh, head)</td></tr>
<tr class="separator:a7d882fadb26a4e6c13c134d8be4d0759"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a44f9d46e2cc79652492e5dd3e6c40a15"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a44f9d46e2cc79652492e5dd3e6c40a15">HASH_EMIT_KEY</a>(hh, head, keyptr, fieldlen)</td></tr>
<tr class="separator:a44f9d46e2cc79652492e5dd3e6c40a15"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd3356419b386c379116393700a751d3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#abd3356419b386c379116393700a751d3">HASH_FCN</a>&#160;&#160;&#160;<a class="el" href="uthash_8h.html#aa16e3ae6125d7f10d3deb4695e0ee51e">HASH_JEN</a></td></tr>
<tr class="separator:abd3356419b386c379116393700a751d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7271bf51d7fe2cf2c183578aee73601e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a7271bf51d7fe2cf2c183578aee73601e">HASH_BER</a>(key, keylen, num_bkts, hashv, bkt)</td></tr>
<tr class="separator:a7271bf51d7fe2cf2c183578aee73601e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa4cb140b45415e7bf57237525388af79"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#aa4cb140b45415e7bf57237525388af79">HASH_SAX</a>(key, keylen, num_bkts, hashv, bkt)</td></tr>
<tr class="separator:aa4cb140b45415e7bf57237525388af79"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac99f9a353421537527a80b392089dd9d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#ac99f9a353421537527a80b392089dd9d">HASH_FNV</a>(key, keylen, num_bkts, hashv, bkt)</td></tr>
<tr class="separator:ac99f9a353421537527a80b392089dd9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abc7040b698211c1993441fb4165fa0b4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#abc7040b698211c1993441fb4165fa0b4">HASH_OAT</a>(key, keylen, num_bkts, hashv, bkt)</td></tr>
<tr class="separator:abc7040b698211c1993441fb4165fa0b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d37144e54d2bd49eb88fbfd04c59dc5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a6d37144e54d2bd49eb88fbfd04c59dc5">HASH_JEN_MIX</a>(a, b, c)</td></tr>
<tr class="separator:a6d37144e54d2bd49eb88fbfd04c59dc5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa16e3ae6125d7f10d3deb4695e0ee51e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#aa16e3ae6125d7f10d3deb4695e0ee51e">HASH_JEN</a>(key, keylen, num_bkts, hashv, bkt)</td></tr>
<tr class="separator:aa16e3ae6125d7f10d3deb4695e0ee51e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abc7d71657be8975a51684e41029b7964"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#abc7d71657be8975a51684e41029b7964">get16bits</a>(d)</td></tr>
<tr class="separator:abc7d71657be8975a51684e41029b7964"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab595698a74642684dace0dfa47dab445"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#ab595698a74642684dace0dfa47dab445">HASH_SFH</a>(key, keylen, num_bkts, hashv, bkt)</td></tr>
<tr class="separator:ab595698a74642684dace0dfa47dab445"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a35c9b682ebb7a8cbf284b9f0a9594095"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a35c9b682ebb7a8cbf284b9f0a9594095">HASH_KEYCMP</a>(a, b, len)&#160;&#160;&#160;memcmp(a,b,len)</td></tr>
<tr class="separator:a35c9b682ebb7a8cbf284b9f0a9594095"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a42ae87cc63106a82601808f19329502c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a42ae87cc63106a82601808f19329502c">HASH_FIND_IN_BKT</a>(tbl, hh, head, keyptr, keylen_in, out)</td></tr>
<tr class="separator:a42ae87cc63106a82601808f19329502c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a78e11adee321f45c5cb31ff2d6eb0348"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a78e11adee321f45c5cb31ff2d6eb0348">HASH_ADD_TO_BKT</a>(head, addhh)</td></tr>
<tr class="separator:a78e11adee321f45c5cb31ff2d6eb0348"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b2d6f694f98cf6350cdd18225cb3f78"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a1b2d6f694f98cf6350cdd18225cb3f78">HASH_DEL_IN_BKT</a>(hh, head, hh_del)</td></tr>
<tr class="separator:a1b2d6f694f98cf6350cdd18225cb3f78"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6439fd6271474e61b1840fbf83132f03"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a6439fd6271474e61b1840fbf83132f03">HASH_EXPAND_BUCKETS</a>(tbl)</td></tr>
<tr class="separator:a6439fd6271474e61b1840fbf83132f03"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a88d2ab40956878caacd02c214f7e8f15"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a88d2ab40956878caacd02c214f7e8f15">HASH_SORT</a>(head, cmpfcn)&#160;&#160;&#160;<a class="el" href="uthash_8h.html#a388b4071dcff005154f431d3d3025fbd">HASH_SRT</a>(hh,head,cmpfcn)</td></tr>
<tr class="separator:a88d2ab40956878caacd02c214f7e8f15"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a388b4071dcff005154f431d3d3025fbd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a388b4071dcff005154f431d3d3025fbd">HASH_SRT</a>(hh, head, cmpfcn)</td></tr>
<tr class="separator:a388b4071dcff005154f431d3d3025fbd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad190366f7a476ece79bd628240a5fc93"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#ad190366f7a476ece79bd628240a5fc93">HASH_SELECT</a>(hh_dst, dst, hh_src, src, cond)</td></tr>
<tr class="separator:ad190366f7a476ece79bd628240a5fc93"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0512b3f7a824275579ec82643ef2cc23"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a0512b3f7a824275579ec82643ef2cc23">HASH_CLEAR</a>(hh, head)</td></tr>
<tr class="separator:a0512b3f7a824275579ec82643ef2cc23"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d524042f1fcb976d8bccae9e4cc63d6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a4d524042f1fcb976d8bccae9e4cc63d6">HASH_ITER</a>(hh, head, el, tmp)</td></tr>
<tr class="separator:a4d524042f1fcb976d8bccae9e4cc63d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d3edf55a3ee4da1a0e1b477c314342f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a7d3edf55a3ee4da1a0e1b477c314342f">HASH_COUNT</a>(head)&#160;&#160;&#160;<a class="el" href="uthash_8h.html#a6ea9e661cd8c35eff1fdcd5731127edd">HASH_CNT</a>(hh,head)</td></tr>
<tr class="separator:a7d3edf55a3ee4da1a0e1b477c314342f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ea9e661cd8c35eff1fdcd5731127edd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a6ea9e661cd8c35eff1fdcd5731127edd">HASH_CNT</a>(hh, head)&#160;&#160;&#160;((head)?((head)-&gt;hh.tbl-&gt;num_items):0)</td></tr>
<tr class="separator:a6ea9e661cd8c35eff1fdcd5731127edd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4a7a46b9b92a9c73e4f9321e8e6b6bb2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a4a7a46b9b92a9c73e4f9321e8e6b6bb2">HASH_SIGNATURE</a>&#160;&#160;&#160;0xa0111fe1</td></tr>
<tr class="separator:a4a7a46b9b92a9c73e4f9321e8e6b6bb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a18a33f4269f05c1e81ce54edbc0ffca6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a18a33f4269f05c1e81ce54edbc0ffca6">HASH_BLOOM_SIGNATURE</a>&#160;&#160;&#160;0xb12220f2</td></tr>
<tr class="separator:a18a33f4269f05c1e81ce54edbc0ffca6"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:a3ba3da0ca59a082c35a0d6b52e803ddf"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structUT__hash__bucket.html">UT_hash_bucket</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a3ba3da0ca59a082c35a0d6b52e803ddf">UT_hash_bucket</a></td></tr>
<tr class="separator:a3ba3da0ca59a082c35a0d6b52e803ddf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0758074b9942c2ad076610b3e0ce548e"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structUT__hash__table.html">UT_hash_table</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a0758074b9942c2ad076610b3e0ce548e">UT_hash_table</a></td></tr>
<tr class="separator:a0758074b9942c2ad076610b3e0ce548e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e3a99ed9f776349720d0c362f956fb6"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structUT__hash__handle.html">UT_hash_handle</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uthash_8h.html#a0e3a99ed9f776349720d0c362f956fb6">UT_hash_handle</a></td></tr>
<tr class="separator:a0e3a99ed9f776349720d0c362f956fb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="a716ba290563c2d955cb0c90d85874073"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define DECLTYPE</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">x</td><td>)</td>
          <td>&#160;&#160;&#160;(__typeof(x))</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="uthash_8h_source.html#l00042">42</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a class="anchor" id="a3c736f2f2dd643f2987b2bc323e269ba"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define DECLTYPE_ASSIGN</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">dst, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">src&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> {                                                                             \</div>
<div class="line">  (dst) = <a class="code" href="uthash_8h.html#a716ba290563c2d955cb0c90d85874073">DECLTYPE</a>(dst)(src);                                                    \</div>
<div class="line">} <span class="keywordflow">while</span>(0)</div>
<div class="ttc" id="uthash_8h_html_a716ba290563c2d955cb0c90d85874073"><div class="ttname"><a href="uthash_8h.html#a716ba290563c2d955cb0c90d85874073">DECLTYPE</a></div><div class="ttdeci">#define DECLTYPE(x)</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00042">uthash.h:42</a></div></div>
</div><!-- fragment -->
<p>Definition at line <a class="el" href="uthash_8h_source.html#l00052">52</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a class="anchor" id="a568e95048979b8b3e4ea1567fd91c186"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ELMT_FROM_HH</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">tbl, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hhp&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;((void*)(((char*)(hhp)) - ((tbl)-&gt;hho)))</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="uthash_8h_source.html#l00080">80</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a class="anchor" id="abc7d71657be8975a51684e41029b7964"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define get16bits</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">d</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">((((uint32_t)(((<span class="keyword">const</span> uint8_t *)(d))[1])) &lt;&lt; 8)             \</div>
<div class="line">                       +(uint32_t)(((<span class="keyword">const</span> uint8_t *)(d))[0]) )</div>
</div><!-- fragment -->
<p>Definition at line <a class="el" href="uthash_8h_source.html#l00436">436</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a class="anchor" id="aaf01358e257c8d838eb5e4b189f0c399"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_ADD</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hh, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">fieldname, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">keylen_in, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">add&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="uthash_8h.html#a0b7468360b5c788762cdb2ccf9cd4d26">HASH_ADD_KEYPTR</a>(hh,head,&amp;add-&gt;fieldname,keylen_in,add)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="uthash_8h_source.html#l00147">147</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a class="anchor" id="acf85835471af894e354efb7e346698f3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_ADD_INT</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">intfield, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">add&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="uthash_8h.html#aaf01358e257c8d838eb5e4b189f0c399">HASH_ADD</a>(hh,head,intfield,sizeof(int),add)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="uthash_8h_source.html#l00235">235</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a class="anchor" id="a0b7468360b5c788762cdb2ccf9cd4d26"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_ADD_KEYPTR</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hh, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">keyptr, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">keylen_in, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">add&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> {                                                                             \</div>
<div class="line"> unsigned _ha_bkt;                                                               \</div>
<div class="line"> (add)-&gt;hh.next = NULL;                                                          \</div>
<div class="line"> (add)-&gt;hh.key = (<span class="keywordtype">char</span>*)keyptr;                                                  \</div>
<div class="line"> (add)-&gt;hh.keylen = keylen_in;                                                   \</div>
<div class="line"> if (!(head)) {                                                                  \</div>
<div class="line">    head = (add);                                                                \</div>
<div class="line">    (head)-&gt;hh.prev = NULL;                                                      \</div>
<div class="line">    <a class="code" href="uthash_8h.html#aeba971430f623b6334f565d9c7ec9de5">HASH_MAKE_TABLE</a>(hh,head);                                                    \</div>
<div class="line"> } <span class="keywordflow">else</span> {                                                                        \</div>
<div class="line">    (head)-&gt;hh.tbl-&gt;tail-&gt;next = (add);                                          \</div>
<div class="line">    (add)-&gt;hh.prev = <a class="code" href="uthash_8h.html#a568e95048979b8b3e4ea1567fd91c186">ELMT_FROM_HH</a>((head)-&gt;hh.tbl, (head)-&gt;hh.tbl-&gt;tail);         \</div>
<div class="line">    (head)-&gt;hh.tbl-&gt;tail = &amp;((add)-&gt;hh);                                         \</div>
<div class="line"> }                                                                               \</div>
<div class="line"> (head)-&gt;hh.tbl-&gt;num_items++;                                                    \</div>
<div class="line"> (add)-&gt;hh.tbl = (head)-&gt;hh.tbl;                                                 \</div>
<div class="line"> <a class="code" href="uthash_8h.html#abd3356419b386c379116393700a751d3">HASH_FCN</a>(keyptr,keylen_in, (head)-&gt;hh.tbl-&gt;num_buckets,                         \</div>
<div class="line">         (add)-&gt;hh.hashv, _ha_bkt);                                              <a class="code" href="uthash_8h.html#a78e11adee321f45c5cb31ff2d6eb0348">\</a></div>
<div class="line"><a class="code" href="uthash_8h.html#a78e11adee321f45c5cb31ff2d6eb0348"> HASH_ADD_TO_BKT</a>((head)-&gt;hh.tbl-&gt;buckets[_ha_bkt],&amp;(add)-&gt;hh);                   <a class="code" href="uthash_8h.html#acaad947212056cd8bfe3d660265fb2db">\</a></div>
<div class="line"><a class="code" href="uthash_8h.html#acaad947212056cd8bfe3d660265fb2db"> HASH_BLOOM_ADD</a>((head)-&gt;hh.tbl,(add)-&gt;hh.hashv);                                 <a class="code" href="uthash_8h.html#a44f9d46e2cc79652492e5dd3e6c40a15">\</a></div>
<div class="line"><a class="code" href="uthash_8h.html#a44f9d46e2cc79652492e5dd3e6c40a15"> HASH_EMIT_KEY</a>(hh,head,keyptr,keylen_in);                                        <a class="code" href="uthash_8h.html#a7d882fadb26a4e6c13c134d8be4d0759">\</a></div>
<div class="line"><a class="code" href="uthash_8h.html#a7d882fadb26a4e6c13c134d8be4d0759"> HASH_FSCK</a>(hh,head);                                                             \</div>
<div class="line">} <span class="keywordflow">while</span>(0)</div>
<div class="ttc" id="uthash_8h_html_a7d882fadb26a4e6c13c134d8be4d0759"><div class="ttname"><a href="uthash_8h.html#a7d882fadb26a4e6c13c134d8be4d0759">HASH_FSCK</a></div><div class="ttdeci">#define HASH_FSCK(hh, head)</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00301">uthash.h:301</a></div></div>
<div class="ttc" id="uthash_8h_html_abd3356419b386c379116393700a751d3"><div class="ttname"><a href="uthash_8h.html#abd3356419b386c379116393700a751d3">HASH_FCN</a></div><div class="ttdeci">#define HASH_FCN</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00322">uthash.h:322</a></div></div>
<div class="ttc" id="uthash_8h_html_acaad947212056cd8bfe3d660265fb2db"><div class="ttname"><a href="uthash_8h.html#acaad947212056cd8bfe3d660265fb2db">HASH_BLOOM_ADD</a></div><div class="ttdeci">#define HASH_BLOOM_ADD(tbl, hashv)</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00124">uthash.h:124</a></div></div>
<div class="ttc" id="uthash_8h_html_aeba971430f623b6334f565d9c7ec9de5"><div class="ttname"><a href="uthash_8h.html#aeba971430f623b6334f565d9c7ec9de5">HASH_MAKE_TABLE</a></div><div class="ttdeci">#define HASH_MAKE_TABLE(hh, head)</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00128">uthash.h:128</a></div></div>
<div class="ttc" id="uthash_8h_html_a78e11adee321f45c5cb31ff2d6eb0348"><div class="ttname"><a href="uthash_8h.html#a78e11adee321f45c5cb31ff2d6eb0348">HASH_ADD_TO_BKT</a></div><div class="ttdeci">#define HASH_ADD_TO_BKT(head, addhh)</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00650">uthash.h:650</a></div></div>
<div class="ttc" id="uthash_8h_html_a568e95048979b8b3e4ea1567fd91c186"><div class="ttname"><a href="uthash_8h.html#a568e95048979b8b3e4ea1567fd91c186">ELMT_FROM_HH</a></div><div class="ttdeci">#define ELMT_FROM_HH(tbl, hhp)</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00080">uthash.h:80</a></div></div>
<div class="ttc" id="uthash_8h_html_a44f9d46e2cc79652492e5dd3e6c40a15"><div class="ttname"><a href="uthash_8h.html#a44f9d46e2cc79652492e5dd3e6c40a15">HASH_EMIT_KEY</a></div><div class="ttdeci">#define HASH_EMIT_KEY(hh, head, keyptr, fieldlen)</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00315">uthash.h:315</a></div></div>
</div><!-- fragment -->
<p>Definition at line <a class="el" href="uthash_8h_source.html#l00150">150</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a class="anchor" id="a2ad1f84ef1ba9df99fa2ada38cb61823"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_ADD_PTR</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">ptrfield, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">add&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="uthash_8h.html#aaf01358e257c8d838eb5e4b189f0c399">HASH_ADD</a>(hh,head,ptrfield,sizeof(void *),add)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="uthash_8h_source.html#l00239">239</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a class="anchor" id="a9724951736f3985f74df17638c8a7885"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_ADD_STR</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">strfield, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">add&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="uthash_8h.html#aaf01358e257c8d838eb5e4b189f0c399">HASH_ADD</a>(hh,head,strfield,strlen(add-&gt;strfield),add)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="uthash_8h_source.html#l00231">231</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a class="anchor" id="a78e11adee321f45c5cb31ff2d6eb0348"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_ADD_TO_BKT</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">addhh&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> {                                                                             \</div>
<div class="line"> head.count++;                                                                   \</div>
<div class="line"> (addhh)-&gt;<a class="code" href="structUT__hash__handle.html#a4f6989385499ba6f594b0f0facd28325">hh_next</a> = head.hh_head;                                                \</div>
<div class="line"> (addhh)-&gt;<a class="code" href="structUT__hash__handle.html#a3ec03e34d7975d5c1981c44b324619b2">hh_prev</a> = NULL;                                                        \</div>
<div class="line"> if (head.hh_head) { (head).hh_head-&gt;<a class="code" href="structUT__hash__handle.html#a3ec03e34d7975d5c1981c44b324619b2">hh_prev</a> = (addhh); }                        \</div>
<div class="line"> (head).hh_head=addhh;                                                           \</div>
<div class="line"> if (head.count &gt;= ((head.expand_mult+1) * <a class="code" href="uthash_8h.html#a8ae3e6473261f6c4b78c030c94f5d68f">HASH_BKT_CAPACITY_THRESH</a>)             \</div>
<div class="line">     &amp;&amp; (addhh)-&gt;tbl-&gt;noexpand != 1) {                                           <a class="code" href="uthash_8h.html#a6439fd6271474e61b1840fbf83132f03">\</a></div>
<div class="line"><a class="code" href="uthash_8h.html#a6439fd6271474e61b1840fbf83132f03">       HASH_EXPAND_BUCKETS</a>((addhh)-&gt;<a class="code" href="structUT__hash__handle.html#ad2035ee3b2aa55b22e352341372a5e73">tbl</a>);                                        \</div>
<div class="line"> }                                                                               \</div>
<div class="line">} <span class="keywordflow">while</span>(0)</div>
<div class="ttc" id="uthash_8h_html_a6439fd6271474e61b1840fbf83132f03"><div class="ttname"><a href="uthash_8h.html#a6439fd6271474e61b1840fbf83132f03">HASH_EXPAND_BUCKETS</a></div><div class="ttdeci">#define HASH_EXPAND_BUCKETS(tbl)</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00705">uthash.h:705</a></div></div>
<div class="ttc" id="structUT__hash__handle_html_a4f6989385499ba6f594b0f0facd28325"><div class="ttname"><a href="structUT__hash__handle.html#a4f6989385499ba6f594b0f0facd28325">UT_hash_handle::hh_next</a></div><div class="ttdeci">struct UT_hash_handle * hh_next</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00966">uthash.h:966</a></div></div>
<div class="ttc" id="uthash_8h_html_a8ae3e6473261f6c4b78c030c94f5d68f"><div class="ttname"><a href="uthash_8h.html#a8ae3e6473261f6c4b78c030c94f5d68f">HASH_BKT_CAPACITY_THRESH</a></div><div class="ttdeci">#define HASH_BKT_CAPACITY_THRESH</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00077">uthash.h:77</a></div></div>
<div class="ttc" id="structUT__hash__handle_html_ad2035ee3b2aa55b22e352341372a5e73"><div class="ttname"><a href="structUT__hash__handle.html#ad2035ee3b2aa55b22e352341372a5e73">UT_hash_handle::tbl</a></div><div class="ttdeci">struct UT_hash_table * tbl</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00962">uthash.h:962</a></div></div>
<div class="ttc" id="structUT__hash__handle_html_a3ec03e34d7975d5c1981c44b324619b2"><div class="ttname"><a href="structUT__hash__handle.html#a3ec03e34d7975d5c1981c44b324619b2">UT_hash_handle::hh_prev</a></div><div class="ttdeci">struct UT_hash_handle * hh_prev</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00965">uthash.h:965</a></div></div>
</div><!-- fragment -->
<p>Definition at line <a class="el" href="uthash_8h_source.html#l00650">650</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a class="anchor" id="a7271bf51d7fe2cf2c183578aee73601e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_BER</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">key, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">keylen, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">num_bkts, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hashv, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">bkt&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> {                                                                             \</div>
<div class="line">  unsigned _hb_keylen=<a class="code" href="structUT__hash__handle.html#af2abdc405972a6bbdee2ade2c0f346c4">keylen</a>;                                                    \</div>
<div class="line">  char *_hb_key=(<span class="keywordtype">char</span>*)(<a class="code" href="structUT__hash__handle.html#a40690fc15aeaeba8f25385f05f84dd4d">key</a>);                                                    \</div>
<div class="line">  (<a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">hashv</a>) = 0;                                                                   \</div>
<div class="line">  while (_hb_keylen--)  { (<a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">hashv</a>) = ((<a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">hashv</a>) * 33) + *_hb_key++; }               \</div>
<div class="line">  bkt = (<a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">hashv</a>) &amp; (num_bkts-1);                                                  \</div>
<div class="line">} <span class="keywordflow">while</span> (0)</div>
<div class="ttc" id="structUT__hash__handle_html_af2abdc405972a6bbdee2ade2c0f346c4"><div class="ttname"><a href="structUT__hash__handle.html#af2abdc405972a6bbdee2ade2c0f346c4">UT_hash_handle::keylen</a></div><div class="ttdeci">unsigned keylen</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00968">uthash.h:968</a></div></div>
<div class="ttc" id="structUT__hash__handle_html_aae5e635fa110556e5007f627089f8323"><div class="ttname"><a href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">UT_hash_handle::hashv</a></div><div class="ttdeci">unsigned hashv</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00969">uthash.h:969</a></div></div>
<div class="ttc" id="structUT__hash__handle_html_a40690fc15aeaeba8f25385f05f84dd4d"><div class="ttname"><a href="structUT__hash__handle.html#a40690fc15aeaeba8f25385f05f84dd4d">UT_hash_handle::key</a></div><div class="ttdeci">void * key</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00967">uthash.h:967</a></div></div>
</div><!-- fragment -->
<p>Definition at line <a class="el" href="uthash_8h_source.html#l00326">326</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a class="anchor" id="a8ae3e6473261f6c4b78c030c94f5d68f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_BKT_CAPACITY_THRESH&#160;&#160;&#160;10      /* expand when bucket count reaches */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="uthash_8h_source.html#l00077">77</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a class="anchor" id="acaad947212056cd8bfe3d660265fb2db"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_BLOOM_ADD</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">tbl, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hashv&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="uthash_8h_source.html#l00124">124</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a class="anchor" id="ad6847ad938fc26bfd0726d7f159efd0a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_BLOOM_FREE</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">tbl</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="uthash_8h_source.html#l00123">123</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a class="anchor" id="a254f427772a1fe7a2480a8302af8f8b8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_BLOOM_MAKE</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">tbl</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="uthash_8h_source.html#l00122">122</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a class="anchor" id="a18a33f4269f05c1e81ce54edbc0ffca6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_BLOOM_SIGNATURE&#160;&#160;&#160;0xb12220f2</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="uthash_8h_source.html#l00926">926</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a class="anchor" id="a06bfbf880899d54da35487d0d39c1009"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_BLOOM_TEST</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">tbl, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hashv&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;(1)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="uthash_8h_source.html#l00125">125</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a class="anchor" id="a0512b3f7a824275579ec82643ef2cc23"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_CLEAR</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hh, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> {                                                                             \</div>
<div class="line">  if (head) {                                                                    <a class="code" href="uthash_8h.html#a56cdf8c254fc700332c8e6a7263b4657">\</a></div>
<div class="line"><a class="code" href="uthash_8h.html#a56cdf8c254fc700332c8e6a7263b4657">    uthash_free</a>((head)-&gt;hh.tbl-&gt;buckets,                                         \</div>
<div class="line">                (head)-&gt;hh.tbl-&gt;num_buckets*<span class="keyword">sizeof</span>(<span class="keyword">struct</span> <a class="code" href="structUT__hash__bucket.html">UT_hash_bucket</a>));      <a class="code" href="uthash_8h.html#a56cdf8c254fc700332c8e6a7263b4657">\</a></div>
<div class="line"><a class="code" href="uthash_8h.html#a56cdf8c254fc700332c8e6a7263b4657">    uthash_free</a>((head)-&gt;hh.tbl, <span class="keyword">sizeof</span>(<a class="code" href="structUT__hash__table.html">UT_hash_table</a>));                          \</div>
<div class="line">    (head)=NULL;                                                                 \</div>
<div class="line">  }                                                                              \</div>
<div class="line">} <span class="keywordflow">while</span>(0)</div>
<div class="ttc" id="uthash_8h_html_a56cdf8c254fc700332c8e6a7263b4657"><div class="ttname"><a href="uthash_8h.html#a56cdf8c254fc700332c8e6a7263b4657">uthash_free</a></div><div class="ttdeci">#define uthash_free(ptr, sz)</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00069">uthash.h:69</a></div></div>
<div class="ttc" id="structUT__hash__table_html"><div class="ttname"><a href="structUT__hash__table.html">UT_hash_table</a></div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00928">uthash.h:928</a></div></div>
<div class="ttc" id="structUT__hash__bucket_html"><div class="ttname"><a href="structUT__hash__bucket.html">UT_hash_bucket</a></div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00904">uthash.h:904</a></div></div>
</div><!-- fragment -->
<p>Definition at line <a class="el" href="uthash_8h_source.html#l00880">880</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a class="anchor" id="a6ea9e661cd8c35eff1fdcd5731127edd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_CNT</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hh, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;((head)?((head)-&gt;hh.tbl-&gt;num_items):0)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="uthash_8h_source.html#l00902">902</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a class="anchor" id="a7d3edf55a3ee4da1a0e1b477c314342f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_COUNT</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head</td><td>)</td>
          <td>&#160;&#160;&#160;<a class="el" href="uthash_8h.html#a6ea9e661cd8c35eff1fdcd5731127edd">HASH_CNT</a>(hh,head)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="uthash_8h_source.html#l00901">901</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a class="anchor" id="a48b7ed374602dcb236501aa23a971f05"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_DEL</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">delptr&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="uthash_8h.html#a3f83117e1108d63844a58d2d79c3b980">HASH_DELETE</a>(hh,head,delptr)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="uthash_8h_source.html#l00241">241</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a class="anchor" id="a1b2d6f694f98cf6350cdd18225cb3f78"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_DEL_IN_BKT</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hh, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hh_del&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">(head).count--;                                                              \</div>
<div class="line">    if ((head).hh_head == hh_del) {                                              \</div>
<div class="line">      (head).hh_head = hh_del-&gt;hh_next;                                          \</div>
<div class="line">    }                                                                            \</div>
<div class="line">    if (hh_del-&gt;hh_prev) {                                                       \</div>
<div class="line">        hh_del-&gt;hh_prev-&gt;hh_next = hh_del-&gt;hh_next;                              \</div>
<div class="line">    }                                                                            \</div>
<div class="line">    if (hh_del-&gt;hh_next) {                                                       \</div>
<div class="line">        hh_del-&gt;hh_next-&gt;hh_prev = hh_del-&gt;hh_prev;                              \</div>
<div class="line">    }</div>
</div><!-- fragment -->
<p>Definition at line <a class="el" href="uthash_8h_source.html#l00664">664</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a class="anchor" id="a3f83117e1108d63844a58d2d79c3b980"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_DELETE</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hh, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">delptr&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="uthash_8h_source.html#l00192">192</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a class="anchor" id="a44f9d46e2cc79652492e5dd3e6c40a15"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_EMIT_KEY</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hh, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">keyptr, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">fieldlen&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="uthash_8h_source.html#l00315">315</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a class="anchor" id="a6439fd6271474e61b1840fbf83132f03"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_EXPAND_BUCKETS</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">tbl</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="uthash_8h_source.html#l00705">705</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a class="anchor" id="abd3356419b386c379116393700a751d3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_FCN&#160;&#160;&#160;<a class="el" href="uthash_8h.html#aa16e3ae6125d7f10d3deb4695e0ee51e">HASH_JEN</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="uthash_8h_source.html#l00322">322</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a class="anchor" id="ad4a1cd39c3044936c0e49d3f372c9dbf"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_FIND</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hh, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">keyptr, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">keylen, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">out&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> {                                                                             \</div>
<div class="line">  unsigned _hf_bkt,_hf_hashv;                                                    \</div>
<div class="line">  out=NULL;                                                                      \</div>
<div class="line">  if (head) {                                                                    <a class="code" href="uthash_8h.html#abd3356419b386c379116393700a751d3">\</a></div>
<div class="line"><a class="code" href="uthash_8h.html#abd3356419b386c379116393700a751d3">     HASH_FCN</a>(keyptr,<a class="code" href="structUT__hash__handle.html#af2abdc405972a6bbdee2ade2c0f346c4">keylen</a>, (head)-&gt;hh.tbl-&gt;num_buckets, _hf_hashv, _hf_bkt);   \</div>
<div class="line">     if (<a class="code" href="uthash_8h.html#a06bfbf880899d54da35487d0d39c1009">HASH_BLOOM_TEST</a>((head)-&gt;hh.tbl, _hf_hashv)) {                           <a class="code" href="uthash_8h.html#a42ae87cc63106a82601808f19329502c">\</a></div>
<div class="line"><a class="code" href="uthash_8h.html#a42ae87cc63106a82601808f19329502c">       HASH_FIND_IN_BKT</a>((head)-&gt;hh.tbl, hh, (head)-&gt;hh.tbl-&gt;buckets[ _hf_bkt ],  \</div>
<div class="line">                        keyptr,<a class="code" href="structUT__hash__handle.html#af2abdc405972a6bbdee2ade2c0f346c4">keylen</a>,out);                                      \</div>
<div class="line">     }                                                                           \</div>
<div class="line">  }                                                                              \</div>
<div class="line">} <span class="keywordflow">while</span> (0)</div>
<div class="ttc" id="uthash_8h_html_abd3356419b386c379116393700a751d3"><div class="ttname"><a href="uthash_8h.html#abd3356419b386c379116393700a751d3">HASH_FCN</a></div><div class="ttdeci">#define HASH_FCN</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00322">uthash.h:322</a></div></div>
<div class="ttc" id="structUT__hash__handle_html_af2abdc405972a6bbdee2ade2c0f346c4"><div class="ttname"><a href="structUT__hash__handle.html#af2abdc405972a6bbdee2ade2c0f346c4">UT_hash_handle::keylen</a></div><div class="ttdeci">unsigned keylen</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00968">uthash.h:968</a></div></div>
<div class="ttc" id="uthash_8h_html_a06bfbf880899d54da35487d0d39c1009"><div class="ttname"><a href="uthash_8h.html#a06bfbf880899d54da35487d0d39c1009">HASH_BLOOM_TEST</a></div><div class="ttdeci">#define HASH_BLOOM_TEST(tbl, hashv)</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00125">uthash.h:125</a></div></div>
<div class="ttc" id="uthash_8h_html_a42ae87cc63106a82601808f19329502c"><div class="ttname"><a href="uthash_8h.html#a42ae87cc63106a82601808f19329502c">HASH_FIND_IN_BKT</a></div><div class="ttdeci">#define HASH_FIND_IN_BKT(tbl, hh, head, keyptr, keylen_in, out)</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00636">uthash.h:636</a></div></div>
</div><!-- fragment -->
<p>Definition at line <a class="el" href="uthash_8h_source.html#l00082">82</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a class="anchor" id="a42ae87cc63106a82601808f19329502c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_FIND_IN_BKT</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">tbl, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hh, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">keyptr, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">keylen_in, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">out&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> {                                                                             \</div>
<div class="line"> if (head.hh_head) <a class="code" href="uthash_8h.html#a3c736f2f2dd643f2987b2bc323e269ba">DECLTYPE_ASSIGN</a>(out,<a class="code" href="uthash_8h.html#a568e95048979b8b3e4ea1567fd91c186">ELMT_FROM_HH</a>(<a class="code" href="structUT__hash__handle.html#ad2035ee3b2aa55b22e352341372a5e73">tbl</a>,head.hh_head));          \</div>
<div class="line"> else out=NULL;                                                                  \</div>
<div class="line"> while (out) {                                                                   \</div>
<div class="line">    if (out-&gt;hh.keylen == keylen_in) {                                           \</div>
<div class="line">        if ((<a class="code" href="uthash_8h.html#a35c9b682ebb7a8cbf284b9f0a9594095">HASH_KEYCMP</a>(out-&gt;hh.key,keyptr,keylen_in)) == 0) break;             \</div>
<div class="line">    }                                                                            \</div>
<div class="line">    if (out-&gt;hh.<a class="code" href="structUT__hash__handle.html#a4f6989385499ba6f594b0f0facd28325">hh_next</a>) <a class="code" href="uthash_8h.html#a3c736f2f2dd643f2987b2bc323e269ba">DECLTYPE_ASSIGN</a>(out,<a class="code" href="uthash_8h.html#a568e95048979b8b3e4ea1567fd91c186">ELMT_FROM_HH</a>(tbl,out-&gt;hh.<a class="code" href="structUT__hash__handle.html#a4f6989385499ba6f594b0f0facd28325">hh_next</a>)); \</div>
<div class="line">    else out = NULL;                                                             \</div>
<div class="line"> }                                                                               \</div>
<div class="line">} while(0)</div>
<div class="ttc" id="structUT__hash__handle_html_a4f6989385499ba6f594b0f0facd28325"><div class="ttname"><a href="structUT__hash__handle.html#a4f6989385499ba6f594b0f0facd28325">UT_hash_handle::hh_next</a></div><div class="ttdeci">struct UT_hash_handle * hh_next</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00966">uthash.h:966</a></div></div>
<div class="ttc" id="uthash_8h_html_a3c736f2f2dd643f2987b2bc323e269ba"><div class="ttname"><a href="uthash_8h.html#a3c736f2f2dd643f2987b2bc323e269ba">DECLTYPE_ASSIGN</a></div><div class="ttdeci">#define DECLTYPE_ASSIGN(dst, src)</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00052">uthash.h:52</a></div></div>
<div class="ttc" id="structUT__hash__handle_html_ad2035ee3b2aa55b22e352341372a5e73"><div class="ttname"><a href="structUT__hash__handle.html#ad2035ee3b2aa55b22e352341372a5e73">UT_hash_handle::tbl</a></div><div class="ttdeci">struct UT_hash_table * tbl</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00962">uthash.h:962</a></div></div>
<div class="ttc" id="uthash_8h_html_a35c9b682ebb7a8cbf284b9f0a9594095"><div class="ttname"><a href="uthash_8h.html#a35c9b682ebb7a8cbf284b9f0a9594095">HASH_KEYCMP</a></div><div class="ttdeci">#define HASH_KEYCMP(a, b, len)</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00633">uthash.h:633</a></div></div>
<div class="ttc" id="uthash_8h_html_a568e95048979b8b3e4ea1567fd91c186"><div class="ttname"><a href="uthash_8h.html#a568e95048979b8b3e4ea1567fd91c186">ELMT_FROM_HH</a></div><div class="ttdeci">#define ELMT_FROM_HH(tbl, hhp)</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00080">uthash.h:80</a></div></div>
</div><!-- fragment -->
<p>Definition at line <a class="el" href="uthash_8h_source.html#l00636">636</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a class="anchor" id="aadcb19b940348f3141bd51505ede0142"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_FIND_INT</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">findint, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">out&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="uthash_8h.html#ad4a1cd39c3044936c0e49d3f372c9dbf">HASH_FIND</a>(hh,head,findint,sizeof(int),out)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="uthash_8h_source.html#l00233">233</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a class="anchor" id="a26a887f8e31952034becac0cf446f6c3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_FIND_PTR</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">findptr, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">out&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="uthash_8h.html#ad4a1cd39c3044936c0e49d3f372c9dbf">HASH_FIND</a>(hh,head,findptr,sizeof(void *),out)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="uthash_8h_source.html#l00237">237</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a class="anchor" id="a214529083adfab2fa8cd402d2eeb0a84"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_FIND_STR</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">findstr, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">out&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="uthash_8h.html#ad4a1cd39c3044936c0e49d3f372c9dbf">HASH_FIND</a>(hh,head,findstr,strlen(findstr),out)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="uthash_8h_source.html#l00229">229</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a class="anchor" id="ac99f9a353421537527a80b392089dd9d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_FNV</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">key, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">keylen, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">num_bkts, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hashv, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">bkt&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> {                                                                             \</div>
<div class="line">  unsigned _fn_i;                                                                \</div>
<div class="line">  char *_hf_key=(<span class="keywordtype">char</span>*)(<a class="code" href="structUT__hash__handle.html#a40690fc15aeaeba8f25385f05f84dd4d">key</a>);                                                    <a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">\</a></div>
<div class="line"><a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">  hashv</a> = 2166136261UL;                                                          \</div>
<div class="line">  for(_fn_i=0; _fn_i &lt; <a class="code" href="structUT__hash__handle.html#af2abdc405972a6bbdee2ade2c0f346c4">keylen</a>; _fn_i++)                                          \</div>
<div class="line">      <a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">hashv</a> = (<a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">hashv</a> * 16777619) ^ _hf_key[_fn_i];                               \</div>
<div class="line">  bkt = <a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">hashv</a> &amp; (num_bkts-1);                                                    \</div>
<div class="line">} <span class="keywordflow">while</span>(0);</div>
<div class="ttc" id="structUT__hash__handle_html_af2abdc405972a6bbdee2ade2c0f346c4"><div class="ttname"><a href="structUT__hash__handle.html#af2abdc405972a6bbdee2ade2c0f346c4">UT_hash_handle::keylen</a></div><div class="ttdeci">unsigned keylen</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00968">uthash.h:968</a></div></div>
<div class="ttc" id="structUT__hash__handle_html_aae5e635fa110556e5007f627089f8323"><div class="ttname"><a href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">UT_hash_handle::hashv</a></div><div class="ttdeci">unsigned hashv</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00969">uthash.h:969</a></div></div>
<div class="ttc" id="structUT__hash__handle_html_a40690fc15aeaeba8f25385f05f84dd4d"><div class="ttname"><a href="structUT__hash__handle.html#a40690fc15aeaeba8f25385f05f84dd4d">UT_hash_handle::key</a></div><div class="ttdeci">void * key</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00967">uthash.h:967</a></div></div>
</div><!-- fragment -->
<p>Definition at line <a class="el" href="uthash_8h_source.html#l00348">348</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a class="anchor" id="a7d882fadb26a4e6c13c134d8be4d0759"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_FSCK</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hh, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="uthash_8h_source.html#l00301">301</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a class="anchor" id="a361cdc5e8d6d8fe5fae6912588ae15d0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_INITIAL_NUM_BUCKETS&#160;&#160;&#160;32      /* initial number of buckets        */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="uthash_8h_source.html#l00075">75</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a class="anchor" id="a0b39a5cf1d6c05c43bd8530db2ec908c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_INITIAL_NUM_BUCKETS_LOG2&#160;&#160;&#160;5  /* lg2 of initial number of buckets */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="uthash_8h_source.html#l00076">76</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a class="anchor" id="a4d524042f1fcb976d8bccae9e4cc63d6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_ITER</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hh, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">el, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">tmp&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">for</span>((el)=(head),(tmp)=<a class="code" href="uthash_8h.html#a716ba290563c2d955cb0c90d85874073">DECLTYPE</a>(el)((head)?(head)-&gt;hh.next:NULL);                 \</div>
<div class="line">  el; (el)=(tmp),(tmp)=<a class="code" href="uthash_8h.html#a716ba290563c2d955cb0c90d85874073">DECLTYPE</a>(el)((tmp)?(tmp)-&gt;hh.next:NULL))</div>
<div class="ttc" id="uthash_8h_html_a716ba290563c2d955cb0c90d85874073"><div class="ttname"><a href="uthash_8h.html#a716ba290563c2d955cb0c90d85874073">DECLTYPE</a></div><div class="ttdeci">#define DECLTYPE(x)</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00042">uthash.h:42</a></div></div>
</div><!-- fragment -->
<p>Definition at line <a class="el" href="uthash_8h_source.html#l00895">895</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a class="anchor" id="aa16e3ae6125d7f10d3deb4695e0ee51e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_JEN</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">key, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">keylen, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">num_bkts, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hashv, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">bkt&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="uthash_8h_source.html#l00387">387</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a class="anchor" id="a6d37144e54d2bd49eb88fbfd04c59dc5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_JEN_MIX</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">a, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">b, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">c&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> {                                                                             \</div>
<div class="line">  a -= b; a -= c; a ^= ( c &gt;&gt; 13 );                                              \</div>
<div class="line">  b -= c; b -= a; b ^= ( a &lt;&lt; 8 );                                               \</div>
<div class="line">  c -= a; c -= b; c ^= ( b &gt;&gt; 13 );                                              \</div>
<div class="line">  a -= b; a -= c; a ^= ( c &gt;&gt; 12 );                                              \</div>
<div class="line">  b -= c; b -= a; b ^= ( a &lt;&lt; 16 );                                              \</div>
<div class="line">  c -= a; c -= b; c ^= ( b &gt;&gt; 5 );                                               \</div>
<div class="line">  a -= b; a -= c; a ^= ( c &gt;&gt; 3 );                                               \</div>
<div class="line">  b -= c; b -= a; b ^= ( a &lt;&lt; 10 );                                              \</div>
<div class="line">  c -= a; c -= b; c ^= ( b &gt;&gt; 15 );                                              \</div>
<div class="line">} <span class="keywordflow">while</span> (0)</div>
</div><!-- fragment -->
<p>Definition at line <a class="el" href="uthash_8h_source.html#l00374">374</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a class="anchor" id="a35c9b682ebb7a8cbf284b9f0a9594095"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_KEYCMP</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">a, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">b, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">len&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;memcmp(a,b,len)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="uthash_8h_source.html#l00633">633</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a class="anchor" id="aeba971430f623b6334f565d9c7ec9de5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_MAKE_TABLE</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hh, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> {                                                                             \</div>
<div class="line">  (head)-&gt;hh.tbl = (<a class="code" href="structUT__hash__table.html">UT_hash_table</a>*)<a class="code" href="uthash_8h.html#a861013aff36c0448f1888a2b0b5836d8">uthash_malloc</a>(                                \</div>
<div class="line">                  <span class="keyword">sizeof</span>(<a class="code" href="structUT__hash__table.html">UT_hash_table</a>));                                        \</div>
<div class="line">  if (!((head)-&gt;hh.tbl))  { <a class="code" href="uthash_8h.html#a03b52301b0ed976b6981ef33613320c1">uthash_fatal</a>( <span class="stringliteral">&quot;out of memory&quot;</span>); }                    \</div>
<div class="line">  memset((head)-&gt;hh.tbl, 0, <span class="keyword">sizeof</span>(<a class="code" href="structUT__hash__table.html">UT_hash_table</a>));                              \</div>
<div class="line">  (head)-&gt;hh.tbl-&gt;tail = &amp;((head)-&gt;hh);                                          \</div>
<div class="line">  (head)-&gt;hh.tbl-&gt;num_buckets = <a class="code" href="uthash_8h.html#a361cdc5e8d6d8fe5fae6912588ae15d0">HASH_INITIAL_NUM_BUCKETS</a>;                        \</div>
<div class="line">  (head)-&gt;hh.tbl-&gt;log2_num_buckets = <a class="code" href="uthash_8h.html#a0b39a5cf1d6c05c43bd8530db2ec908c">HASH_INITIAL_NUM_BUCKETS_LOG2</a>;              \</div>
<div class="line">  (head)-&gt;hh.tbl-&gt;hho = (<span class="keywordtype">char</span>*)(&amp;(head)-&gt;hh) - (<span class="keywordtype">char</span>*)(head);                    \</div>
<div class="line">  (head)-&gt;hh.tbl-&gt;buckets = (<a class="code" href="structUT__hash__bucket.html">UT_hash_bucket</a>*)<a class="code" href="uthash_8h.html#a861013aff36c0448f1888a2b0b5836d8">uthash_malloc</a>(                      \</div>
<div class="line">          <a class="code" href="uthash_8h.html#a361cdc5e8d6d8fe5fae6912588ae15d0">HASH_INITIAL_NUM_BUCKETS</a>*<span class="keyword">sizeof</span>(<span class="keyword">struct</span> <a class="code" href="structUT__hash__bucket.html">UT_hash_bucket</a>));               \</div>
<div class="line">  if (! (head)-&gt;hh.tbl-&gt;buckets) { <a class="code" href="uthash_8h.html#a03b52301b0ed976b6981ef33613320c1">uthash_fatal</a>( <span class="stringliteral">&quot;out of memory&quot;</span>); }             \</div>
<div class="line">  memset((head)-&gt;hh.tbl-&gt;buckets, 0,                                             \</div>
<div class="line">          <a class="code" href="uthash_8h.html#a361cdc5e8d6d8fe5fae6912588ae15d0">HASH_INITIAL_NUM_BUCKETS</a>*<span class="keyword">sizeof</span>(<span class="keyword">struct</span> <a class="code" href="structUT__hash__bucket.html">UT_hash_bucket</a>));               <a class="code" href="uthash_8h.html#a254f427772a1fe7a2480a8302af8f8b8">\</a></div>
<div class="line"><a class="code" href="uthash_8h.html#a254f427772a1fe7a2480a8302af8f8b8">  HASH_BLOOM_MAKE</a>((head)-&gt;hh.tbl);                                               \</div>
<div class="line">  (head)-&gt;hh.tbl-&gt;signature = <a class="code" href="uthash_8h.html#a4a7a46b9b92a9c73e4f9321e8e6b6bb2">HASH_SIGNATURE</a>;                                    \</div>
<div class="line">} <span class="keywordflow">while</span>(0)</div>
<div class="ttc" id="uthash_8h_html_a361cdc5e8d6d8fe5fae6912588ae15d0"><div class="ttname"><a href="uthash_8h.html#a361cdc5e8d6d8fe5fae6912588ae15d0">HASH_INITIAL_NUM_BUCKETS</a></div><div class="ttdeci">#define HASH_INITIAL_NUM_BUCKETS</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00075">uthash.h:75</a></div></div>
<div class="ttc" id="uthash_8h_html_a4a7a46b9b92a9c73e4f9321e8e6b6bb2"><div class="ttname"><a href="uthash_8h.html#a4a7a46b9b92a9c73e4f9321e8e6b6bb2">HASH_SIGNATURE</a></div><div class="ttdeci">#define HASH_SIGNATURE</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00925">uthash.h:925</a></div></div>
<div class="ttc" id="uthash_8h_html_a0b39a5cf1d6c05c43bd8530db2ec908c"><div class="ttname"><a href="uthash_8h.html#a0b39a5cf1d6c05c43bd8530db2ec908c">HASH_INITIAL_NUM_BUCKETS_LOG2</a></div><div class="ttdeci">#define HASH_INITIAL_NUM_BUCKETS_LOG2</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00076">uthash.h:76</a></div></div>
<div class="ttc" id="uthash_8h_html_a861013aff36c0448f1888a2b0b5836d8"><div class="ttname"><a href="uthash_8h.html#a861013aff36c0448f1888a2b0b5836d8">uthash_malloc</a></div><div class="ttdeci">#define uthash_malloc(sz)</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00068">uthash.h:68</a></div></div>
<div class="ttc" id="uthash_8h_html_a254f427772a1fe7a2480a8302af8f8b8"><div class="ttname"><a href="uthash_8h.html#a254f427772a1fe7a2480a8302af8f8b8">HASH_BLOOM_MAKE</a></div><div class="ttdeci">#define HASH_BLOOM_MAKE(tbl)</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00122">uthash.h:122</a></div></div>
<div class="ttc" id="structUT__hash__table_html"><div class="ttname"><a href="structUT__hash__table.html">UT_hash_table</a></div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00928">uthash.h:928</a></div></div>
<div class="ttc" id="structUT__hash__bucket_html"><div class="ttname"><a href="structUT__hash__bucket.html">UT_hash_bucket</a></div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00904">uthash.h:904</a></div></div>
<div class="ttc" id="uthash_8h_html_a03b52301b0ed976b6981ef33613320c1"><div class="ttname"><a href="uthash_8h.html#a03b52301b0ed976b6981ef33613320c1">uthash_fatal</a></div><div class="ttdeci">#define uthash_fatal(msg)</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00067">uthash.h:67</a></div></div>
</div><!-- fragment -->
<p>Definition at line <a class="el" href="uthash_8h_source.html#l00128">128</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a class="anchor" id="abc7040b698211c1993441fb4165fa0b4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_OAT</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">key, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">keylen, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">num_bkts, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hashv, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">bkt&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> {                                                                             \</div>
<div class="line">  unsigned _ho_i;                                                                \</div>
<div class="line">  char *_ho_key=(<span class="keywordtype">char</span>*)(<a class="code" href="structUT__hash__handle.html#a40690fc15aeaeba8f25385f05f84dd4d">key</a>);                                                    <a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">\</a></div>
<div class="line"><a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">  hashv</a> = 0;                                                                     \</div>
<div class="line">  for(_ho_i=0; _ho_i &lt; <a class="code" href="structUT__hash__handle.html#af2abdc405972a6bbdee2ade2c0f346c4">keylen</a>; _ho_i++) {                                        <a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">\</a></div>
<div class="line"><a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">      hashv</a> += _ho_key[_ho_i];                                                   <a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">\</a></div>
<div class="line"><a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">      hashv</a> += (<a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">hashv</a> &lt;&lt; 10);                                                    <a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">\</a></div>
<div class="line"><a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">      hashv</a> ^= (<a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">hashv</a> &gt;&gt; 6);                                                     \</div>
<div class="line">  }                                                                              <a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">\</a></div>
<div class="line"><a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">  hashv</a> += (<a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">hashv</a> &lt;&lt; 3);                                                         <a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">\</a></div>
<div class="line"><a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">  hashv</a> ^= (<a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">hashv</a> &gt;&gt; 11);                                                        <a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">\</a></div>
<div class="line"><a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">  hashv</a> += (<a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">hashv</a> &lt;&lt; 15);                                                        \</div>
<div class="line">  bkt = <a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">hashv</a> &amp; (num_bkts-1);                                                    \</div>
<div class="line">} <span class="keywordflow">while</span>(0)</div>
<div class="ttc" id="structUT__hash__handle_html_af2abdc405972a6bbdee2ade2c0f346c4"><div class="ttname"><a href="structUT__hash__handle.html#af2abdc405972a6bbdee2ade2c0f346c4">UT_hash_handle::keylen</a></div><div class="ttdeci">unsigned keylen</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00968">uthash.h:968</a></div></div>
<div class="ttc" id="structUT__hash__handle_html_aae5e635fa110556e5007f627089f8323"><div class="ttname"><a href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">UT_hash_handle::hashv</a></div><div class="ttdeci">unsigned hashv</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00969">uthash.h:969</a></div></div>
<div class="ttc" id="structUT__hash__handle_html_a40690fc15aeaeba8f25385f05f84dd4d"><div class="ttname"><a href="structUT__hash__handle.html#a40690fc15aeaeba8f25385f05f84dd4d">UT_hash_handle::key</a></div><div class="ttdeci">void * key</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00967">uthash.h:967</a></div></div>
</div><!-- fragment -->
<p>Definition at line <a class="el" href="uthash_8h_source.html#l00358">358</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a class="anchor" id="aa4cb140b45415e7bf57237525388af79"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_SAX</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">key, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">keylen, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">num_bkts, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hashv, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">bkt&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> {                                                                             \</div>
<div class="line">  unsigned _sx_i;                                                                \</div>
<div class="line">  char *_hs_key=(<span class="keywordtype">char</span>*)(<a class="code" href="structUT__hash__handle.html#a40690fc15aeaeba8f25385f05f84dd4d">key</a>);                                                    <a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">\</a></div>
<div class="line"><a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">  hashv</a> = 0;                                                                     \</div>
<div class="line">  for(_sx_i=0; _sx_i &lt; <a class="code" href="structUT__hash__handle.html#af2abdc405972a6bbdee2ade2c0f346c4">keylen</a>; _sx_i++)                                          \</div>
<div class="line">      <a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">hashv</a> ^= (<a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">hashv</a> &lt;&lt; 5) + (<a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">hashv</a> &gt;&gt; 2) + _hs_key[_sx_i];                     \</div>
<div class="line">  bkt = <a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">hashv</a> &amp; (num_bkts-1);                                                    \</div>
<div class="line">} <span class="keywordflow">while</span> (0)</div>
<div class="ttc" id="structUT__hash__handle_html_af2abdc405972a6bbdee2ade2c0f346c4"><div class="ttname"><a href="structUT__hash__handle.html#af2abdc405972a6bbdee2ade2c0f346c4">UT_hash_handle::keylen</a></div><div class="ttdeci">unsigned keylen</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00968">uthash.h:968</a></div></div>
<div class="ttc" id="structUT__hash__handle_html_aae5e635fa110556e5007f627089f8323"><div class="ttname"><a href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">UT_hash_handle::hashv</a></div><div class="ttdeci">unsigned hashv</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00969">uthash.h:969</a></div></div>
<div class="ttc" id="structUT__hash__handle_html_a40690fc15aeaeba8f25385f05f84dd4d"><div class="ttname"><a href="structUT__hash__handle.html#a40690fc15aeaeba8f25385f05f84dd4d">UT_hash_handle::key</a></div><div class="ttdeci">void * key</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00967">uthash.h:967</a></div></div>
</div><!-- fragment -->
<p>Definition at line <a class="el" href="uthash_8h_source.html#l00338">338</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a class="anchor" id="ad190366f7a476ece79bd628240a5fc93"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_SELECT</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hh_dst, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">dst, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hh_src, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">src, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">cond&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="uthash_8h_source.html#l00842">842</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a class="anchor" id="ab595698a74642684dace0dfa47dab445"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_SFH</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">key, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">keylen, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">num_bkts, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hashv, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">bkt&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="uthash_8h_source.html#l00439">439</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a class="anchor" id="a4a7a46b9b92a9c73e4f9321e8e6b6bb2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_SIGNATURE&#160;&#160;&#160;0xa0111fe1</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="uthash_8h_source.html#l00925">925</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a class="anchor" id="a88d2ab40956878caacd02c214f7e8f15"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_SORT</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">cmpfcn&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="uthash_8h.html#a388b4071dcff005154f431d3d3025fbd">HASH_SRT</a>(hh,head,cmpfcn)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="uthash_8h_source.html#l00757">757</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a class="anchor" id="a388b4071dcff005154f431d3d3025fbd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_SRT</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hh, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">cmpfcn&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="uthash_8h_source.html#l00758">758</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a class="anchor" id="a4d7691544128a6ef265f3e4fa5ed3113"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HASH_TO_BKT</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hashv, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">num_bkts, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">bkt&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> {                                                                             \</div>
<div class="line">  bkt = ((<a class="code" href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">hashv</a>) &amp; ((num_bkts) - 1));                                            \</div>
<div class="line">} <span class="keywordflow">while</span>(0)</div>
<div class="ttc" id="structUT__hash__handle_html_aae5e635fa110556e5007f627089f8323"><div class="ttname"><a href="structUT__hash__handle.html#aae5e635fa110556e5007f627089f8323">UT_hash_handle::hashv</a></div><div class="ttdeci">unsigned hashv</div><div class="ttdef"><b>Definition:</b> <a href="uthash_8h_source.html#l00969">uthash.h:969</a></div></div>
</div><!-- fragment -->
<p>Definition at line <a class="el" href="uthash_8h_source.html#l00175">175</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a class="anchor" id="a86ea78714da520989a6f7a764b4d71b4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define uthash_expand_fyi</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">tbl</td><td>)</td>
          <td>&#160;&#160;&#160;/* can be defined to log expands   */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="uthash_8h_source.html#l00072">72</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a class="anchor" id="a03b52301b0ed976b6981ef33613320c1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define uthash_fatal</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">msg</td><td>)</td>
          <td>&#160;&#160;&#160;exit(-1)        /* fatal error (out of memory,etc) */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="uthash_8h_source.html#l00067">67</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a class="anchor" id="a56cdf8c254fc700332c8e6a7263b4657"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define uthash_free</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">ptr, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">sz&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;free(ptr)     /* free fcn                        */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="uthash_8h_source.html#l00069">69</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a class="anchor" id="a861013aff36c0448f1888a2b0b5836d8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define uthash_malloc</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">sz</td><td>)</td>
          <td>&#160;&#160;&#160;malloc(sz)      /* malloc fcn                      */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="uthash_8h_source.html#l00068">68</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a class="anchor" id="a7cc237d8f87de3836b5390856cfc5c86"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define uthash_noexpand_fyi</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">tbl</td><td>)</td>
          <td>&#160;&#160;&#160;/* can be defined to log noexpand  */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="uthash_8h_source.html#l00071">71</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<a class="anchor" id="aa56cef9cb86dc1f4b5d27ee3a691077e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define UTHASH_VERSION&#160;&#160;&#160;1.9.3</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="uthash_8h_source.html#l00065">65</a> of file <a class="el" href="uthash_8h_source.html">uthash.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a class="anchor" id="a3ba3da0ca59a082c35a0d6b52e803ddf"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structUT__hash__bucket.html">UT_hash_bucket</a>  <a class="el" href="structUT__hash__bucket.html">UT_hash_bucket</a></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a0e3a99ed9f776349720d0c362f956fb6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structUT__hash__handle.html">UT_hash_handle</a>  <a class="el" href="structUT__hash__handle.html">UT_hash_handle</a></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a0758074b9942c2ad076610b3e0ce548e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structUT__hash__table.html">UT_hash_table</a>  <a class="el" href="structUT__hash__table.html">UT_hash_table</a></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Fri Feb 27 2015 15:15:33 for tinydtls by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>
</body>
</html>
